package com.adcc.ags.gms.gw.vo;

import com.adcc.ags.gms.core.entity.BaseEntity;
import com.adcc.ags.gms.core.vo.BaseVO;
import com.adcc.ags.gms.gw.service.UserMonitorServiceImpl;
import com.adcc.ags.gms.user.entity.GWUser;
import com.adcc.utility.mq.entity.Queue;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

import java.util.List;
import java.util.Map;

/**
 * Created by zhangpeng on 2016/10/13.
 */
public class UserMonitorVO extends BaseVO {

    // 用户监控id
    private String userId;

    // 用户监控名字
    private String name;

    // 用户监控IP
    private String ip;

    // 用户监控状态 1:红 2:黄 3:绿 4:灰
    private Integer state;

    //用户监控CGW状态
    private String cgwState;

    // 提示信息
    private String message;

    // 更新时间
    private String updateTime;

    // 用户发送队列名称
    private String sendQueueName;

    // 用户接收队列名称
    private String recQueueName;

    // 用户发送队列深度
    private long sendQueueDepth;

    // 用户接收队列深度
    private long recQueueDepth;

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getIp() {
        return ip;
    }

    public void setIp(String ip) {
        this.ip = ip;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public String getCgwState() {
        return cgwState;
    }

    public void setCgwState(String cgwState) {
        this.cgwState = cgwState;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public String getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(String updateTime) {
        this.updateTime = updateTime;
    }

    public String getSendQueueName() {
        return sendQueueName;
    }

    public void setSendQueueName(String sendQueueName) {
        this.sendQueueName = sendQueueName;
    }

    public long getSendQueueDepth() {
        return sendQueueDepth;
    }

    public void setSendQueueDepth(long sendQueueDepth) {
        this.sendQueueDepth = sendQueueDepth;
    }

    public String getRecQueueName() {
        return recQueueName;
    }

    public void setRecQueueName(String recQueueName) {
        this.recQueueName = recQueueName;
    }

    public long getRecQueueDepth() {
        return recQueueDepth;
    }

    public void setRecQueueDepth(long recQueueDepth) {
        this.recQueueDepth = recQueueDepth;
    }

    @Override
    public BaseEntity toEntity() {
        return null;
    }

    @Override
    public String toJson() throws JsonProcessingException {
        return new ObjectMapper().writeValueAsString(this);
    }
}
